package main

import (
	"fmt"
	"strconv"

	//_"fmt"  // 如果一个包没有用到，可以在前面加下划线，表示忽略不用
)

func main() {
	var n1 int32 = 12
	var n4 int8
	var n3 int8
	n4 = int8(n1) + 127 //溢出
	//n3 = int8(n1) + 128  // 超范围
	fmt.Println(n3, n4)

	// 基本类型转string

	// string转基本类型
	//var str string = "true"
	var str string = "python"  // 字符串中不是bool类型，转换后默认false
	var b bool
	b, _ = strconv.ParseBool(str) // 返回两个值，下划线表示忽略第二个值
	fmt.Printf("type %T, 转换后：%v\n", b, b)

	//var str2 string = "123456"
	var str2 string = "golang"  // 字符串中不是数字，默认转为0
	var n64 int64
	n64, _ = strconv.ParseInt(str2, 10, 64)
	fmt.Printf("type %T, n64=%v\n", n64, n64)

	f64, _ := strconv.ParseFloat(str2, 64)
	fmt.Printf("type %T, f64=%v\n", f64, f64)

}
